home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / self / contrib.lha / contrib / SelfNews / jotI.self < prev    next >
Text File  |  1993-07-24  |  6KB  |  253 lines

  1. "File jotI.self
  2.  created by Ian Wilkinson on Mon Oct 12 18:16:07 1992
  3.  
  4.  Copyright (c) Canon Research Centre Europe, 1992.
  5.  All rights reserved."
  6.  
  7. prototypes system _AddSlotsIfAbsent: ( | ^ jotFct = () | ) 
  8.  
  9. (jotFct _Define: foreignFct copyName: 'newJotTextGlue' 
  10.                          Path: (unix environmentVariable: 'SELF_NEWS'), '/wireI.so')
  11.  
  12. traits system _AddSlotsIfAbsent: ( | ^ jotI = () | )
  13. traits jotI _Define: ( | 
  14.     _ parent* = traits clonable.
  15.   
  16.     ^ initialize: w = (
  17.     | ignore = jotFct copyName: 'jotInitializeGlue' |
  18.     ignore value: w
  19.     )
  20. | )
  21.  
  22. prototypes system _AddSlotsIfAbsent: ( | ^ jotI = () | )
  23. jotI _Define: ( |
  24.     _ parent* = traits jotI.
  25.     _ thisObjectPrints = true.
  26.  
  27.     ^ printString = 'a jotInterface'.
  28. | )
  29.  
  30. traits system _AddSlotsIfAbsent: ( | ^ jotView = () | )
  31. traits jotView _Define: ( | 
  32.     _ parent*    = traits proxy.
  33.   
  34.     ^ newViewFor: jotT On: w = ( | jotRsrcMaker = jotFct copyName: 'newJotViewGlue' |
  35.     jotI initialize: w.
  36.     (jotRsrcMaker value: jotT
  37.                With: true
  38.                With: w
  39.                With: deadCopy)
  40.         discoverBehaviour
  41.     ).
  42.  
  43.     ^ canvas = (
  44.     | jotRsrcMaker = jotFct copyName: 'jotViewCanvasGlue' |
  45.     jotRsrcMaker value: self
  46.     ).
  47.  
  48.     ^ discoverBehaviour = ( | jotViewInspect. bv. nBytes = typeSizes byteSize: 'int' |
  49.     jotViewInspect: jotFct copyName: 'jotViewAspectsGlue'. 
  50.     aspects: jotViewInspect value: self.
  51.     jotViewInspect: jotFct copyName: 'jotViewBehaviourGlue'. 
  52.     bv: byteVector copySize: nBytes * aspects.
  53.     jotViewInspect value: self With: bv.
  54.     behaviour: behaviour copySize: aspects FillingWith: 0.
  55.     0 to: bv size - nBytes By: nBytes Do: [ | :i |
  56.         behaviour at: i / nBytes
  57.              Put: (bv cIntSize: (typeSizes bitSize: 'int')
  58.                 Signed: true
  59.                     At: i)
  60.     ].
  61.     self
  62.     ).
  63.  
  64.     ^ respond = ( | responder |
  65.     responder: jotFct copyName: 'jotViewRespondGlue'. 
  66.     responder value: self
  67.     ).
  68.  
  69.     ^ update: w = (
  70.     (jotFct copyName: 'jotViewUpdateGlue') value: w With: self.
  71.     self
  72.     ).
  73.  
  74.     ^ setReadOnly: isProtected = (
  75.     (jotFct copyName: 'jotViewSetReadOnlyGlue') value: isProtected With: self
  76.     )
  77. | )
  78.  
  79. prototypes system _AddSlotsIfAbsent: ( | ^ jotView = () | )
  80. jotView _Define: proxy deadCopy _AddSlots: ( |
  81.     _ parent* = traits jotView.
  82.  
  83.     ^_ aspects.
  84.     ^_ behaviour <- vector
  85. | )
  86.  
  87. traits system _AddSlotsIfAbsent: ( | ^ jotText = () | )
  88. traits jotText _Define: ( | 
  89.     _ parent*    = traits proxy.
  90.   
  91.     ^ newText: initialSz = (
  92.     | jotRsrcMaker = jotFct copyName: 'newJotTextGlue' |
  93.     jotRsrcMaker value: initialSz With: deadCopy
  94.     ).
  95.  
  96.     ^ placeAtEnd: text = (
  97.     (jotFct copyName: 'placeAtEndGlue') value: text With: self
  98.     ).
  99.  
  100.     ^ size = (
  101.     (jotFct copyName: 'sizeGlue') value: self
  102.     ).
  103.  
  104.     ^ contentsInto: s = (
  105.     (jotFct copyName: 'contentsIntoGlue') value: s With: self
  106.     )
  107. | )
  108.  
  109. prototypes system _AddSlotsIfAbsent: ( | ^ jotText = () | )
  110. jotText _Define: proxy deadCopy _AddSlots: ( |
  111.     _ parent* = traits jotText.
  112. | )
  113.  
  114. traits system _AddSlotsIfAbsent: ( | ^ jotRuler = () | )
  115. traits jotRuler _Define: ( | 
  116.     _ parent*    = traits proxy.
  117.   
  118.     ^ newRuler = ( (jotFct copyName: 'newJotRulerGlue') value: deadCopy ).
  119.  
  120.     ^ initialiseFontFor: text In: view = (
  121.     (jotFct copyName: 'jotFontInitializeGlue') value: self
  122.                             With: view
  123.                             With: text
  124.     ).
  125.  
  126.     ^ firstIndent: fi = (
  127.     (jotFct copyName: 'jotRulerSetParameterGlue')
  128.         value: self With: jotFirstIndent With: fi.
  129.     self
  130.     ).
  131.     ^ leftIndent: li = (
  132.     (jotFct copyName: 'jotRulerSetParameterGlue')
  133.         value: self With: jotLeftIndent With: li.
  134.     self
  135.     ).
  136.     ^ rightIndent: ri = (
  137.     (jotFct copyName: 'jotRulerSetParameterGlue')
  138.         value: self With: jotRightIndent With: ri.
  139.     self
  140.     ).
  141.     ^ spaceBefore: sb = (
  142.     (jotFct copyName: 'jotRulerSetParameterGlue')
  143.         value: self With: jotSpaceBefore With: fi.
  144.     self
  145.     ).
  146.     ^ spaceAfter: sa = (
  147.     (jotFct copyName: 'jotRulerSetParameterGlue')
  148.         value: self With: jotSpaceAfter With: fi.
  149.     self
  150.     ).
  151.     ^ lineSpacing: ls = (
  152.     (jotFct copyName: 'jotRulerSetParameterGlue')
  153.         value: self With: jotLineSpacing With: fi.
  154.     self
  155.     ).
  156.     ^ tabStops: ts = (
  157.     (jotFct copyName: 'jotRulerSetParameterGlue')
  158.         value: self With: jotTabStops With: fi.
  159.     self
  160.     ).
  161.     ^ font: fontName = (
  162.     (jotFct copyName: 'jotRulerSetFontGlue')
  163.         value: self With: fontName.
  164.     self
  165.     ).
  166.     ^ bold: isOn = (
  167.     (jotFct copyName: 'jotRulerSetParameterGlue')
  168.         value: self With: jotBold With: isOn.
  169.     self
  170.     ).
  171.     ^ italic: isOn = (
  172.     (jotFct copyName: 'jotRulerSetParameterGlue')
  173.         value: self With: jotItalic With: isOn.
  174.     self
  175.     ).
  176.     ^ underline: isOn = (
  177.     (jotFct copyName: 'jotRulerSetParameterGlue')
  178.         value: self With: jotUnderline With: isOn.
  179.     self
  180.     ).
  181.     ^ strike: st = (
  182.     (jotFct copyName: 'jotRulerSetParameterGlue')
  183.         value: self With: jotStrikethru With: st.
  184.     self
  185.     ).
  186.     ^ fontSize: fs = (
  187.     (jotFct copyName: 'jotRulerSetParameterGlue')
  188.         value: self With: jotFontSize With: fs.
  189.     self
  190.     ).
  191.     ^ baselineOffset: bo = (
  192.     (jotFct copyName: 'jotRulerSetParameterGlue')
  193.         value: self With: jotBaselineOffset With: bo.
  194.     self
  195.     ).
  196.     ^ fgColor: fg = (
  197.     (jotFct copyName: 'jotRulerSetParameterGlue')
  198.         value: self With: jotFgColor With: fg.
  199.     self
  200.     ).
  201.     ^ bgColor: bg = (
  202.     (jotFct copyName: 'jotRulerSetParameterGlue')
  203.         value: self With: jotBgColor With: bg.
  204.     self
  205.     ).
  206.     ^ rulerName: rn = (
  207.     (jotFct copyName: 'jotRulerSetRulerNameGlue')
  208.         value: self With: rn.
  209.     self
  210.     ).
  211.  
  212.     ^ parameters* = ( |
  213.     ^ jotLineStyle        = 0.
  214.     ^ jotFirstIndent    = 1.
  215.     ^ jotLeftIndent        = 2.
  216.     ^ jotRightIndent    = 3.
  217.     ^ jotSpaceBefore    = 4.
  218.     ^ jotSpaceAfter        = 5.
  219.     ^ jotLineSpacing    = 6.
  220.     ^ jotTabStops        = 7.
  221.     ^ jotFont        = 8.
  222.     ^ jotBold        = 9.
  223.     ^ jotItalic        = 10.
  224.     ^ jotUnderline        = 11.
  225.     ^ jotStrikethru        = 12.
  226.     ^ jotFontSize        = 13.
  227.     ^ jotBaselineOffset    = 14.
  228.     ^ jotFgColor        = 15.
  229.     ^ jotBgColor        = 16.
  230.     ^ jotRulerName        = 18
  231.     | ).
  232.  
  233.     ^ lineStyles* = ( |
  234.     ^ justify    = 200.
  235.     ^ leftAlign    = 201.
  236.     ^ rightAlign    = 202.
  237.     ^ center    = 203.
  238.     ^ characterWrap    = 204.
  239.     ^ characterClip    = 205
  240.     | ).
  241.  
  242.     ^ strikethru* = ( |
  243.     ^ off        = 0.
  244.     ^ on        = 1.
  245.     ^ invert    = 2
  246.     | )
  247. | )
  248.  
  249. prototypes system _AddSlotsIfAbsent: ( | ^ jotRuler = () | )
  250. jotRuler _Define: proxy deadCopy _AddSlots: ( |
  251.     _ parent* = traits jotRuler
  252. | )
  253.